This invention relates generally to systems and methods for generating software applications, more specifically to object-oriented systems and methods for visually generating software applications.
A major advantage in the area of information technology has been the growth of networking. Networking permits sharing of common resources and databases among a group of computer users. A client-server network consists of a plurality of servers connected via a communication bus to a plurality of clients such as desktop PCs. The servers in a client-server network are configured to handle various services such file handling, printer services, management of communication across the network, and security services. As the number of clients and servers increases, managing a network can become a formidable task.
Various means can be implemented to manage high-volume networks. One particular solution is to hire specialists who have experience managing a large number of servers. These specialists can write and implement ad hoc coded scripts that automate network management tasks. Unfortunately, this can be a time-consuming, costly solution and may not be an option for smaller businesses.
A second approach to network management may be to implement object-oriented software packages. An object-oriented software package is a package that can achieve various goals while minimizing or eliminating the necessity of coding or scripting. Object-oriented software packages may implement modularized software functions called objects. Each object is a self-contained function that may contain both data and procedures to manipulate the data. Objects are assembled, sequenced, and linked to achieve an overall desired task. Object-oriented programming enables users to implement a multitude of objects linked together without the necessity of reinventing the wheel. Each object may be implemented many times for various tasks. Each object eliminates the necessity of writing many lines of code to accomplish the same task.
Presently, various packages exist that implement modularized functions to achieve network management tasks. For instance, FINAL for Windows NT is offered by FastLane. FINAL incorporates a high-level scripting language. The scripting language is a language written on a higher level than code. FINAL""s scripting language incorporates a multitude of functions to achieve the desired task. FINAL also implements a built-in editor which allows drop-and-drag editing of functions. Unfortunately, FINAL is for NT servers only. Also, FINAL requires the user to learn the high-level scripting language to implement the software package.
In contrast to FastLane""s FINAL, Norton Administrator For Networks NAN by HP, formerly by Symantec, supports both NetWare and NT servers. NAN also incorporates a visual interface and built-in scripts to customize and automate many network tasks. Unfortunately, however, NAN also requires a certain amount of scripting to accomplish various network tasks.
As an alternative to the scripting involved with FINAL and NAN, there exist certain software packages that do eliminate the scripting required to link various objects and functions together. For instance, OZONE by V_Graph Incorporated links various objects defined by the user at a graphical user interface. No scripting is involved to accomplish the desired task. Unfortunately, however, OZONE may require the purchase of third-party VBX controls. This may be costly and not an option for small businesses.
A network administrator""s main concern is keeping the server and network running properly. Therefore, network management tasks need to take as little time as possible. Unfortunately, ad hoc methods tend to be expensive and require a fair amount of time from the network administrator or support staff. Consequently, network administrators may look towards object-oriented software packages. Unfortunately, some object-oriented software packages may require knowledge of a scripting language specific for that package to link objects or functions together. Other packages may require a script written in a common programming language to be run on a framework provided by the package. In addition, certain packages require a third-party utility for screen design or third-party control objects, which incur additional, undesirable expenses.
The present invention provides an object-oriented system and method for visually generating software applications that substantially eliminates or reduces disadvantages and problems associated with previously developed systems and methods used for generating software applications.
More specifically, the present invention provides an object-oriented system for visually generating software applications. The object-oriented system for visually generating software applications includes a visual interface for defining and linking control objects and corresponding services to create an intermediate command instruction file. Further, the present invention allows any control object as well as any command instruction file to edited and/or modified at any time. Also included is a run-time program for interpreting the intermediate command instruction file and generating the desired applications.
Currently, there does not exist an object-oriented software package specifically tailored for network administration that does not require some amount of scripting. Therefore, a need exists for an easily implemented, low-cost network management tool capable of performing a multitude of tasks. This management tool should include the best common practices used to support a network as well as custom tasks deemed necessary by a network administrator or the network support staff. Ideally, the management tool should not require the purchase of third-party controls (objects) or interfaces to implement the tool. Lastly, the tool should not require the network administrator or support staff to perform scripting to implement the various network management tasks.
The present invention provides an important technical advantage by enabling visual development of network management applications. The applications are created through a point-and-click visual interface and well-organized dialog boxes. Options are presented to the user in a clear and concise manner. These characteristics provide network management software applications that can be generated in a fairly spontaneous manner. The present invention, however, is not limited to developing network management software applications and can easily be adapted to create applications for various specialties.
Also, the present invention provides yet another technical advantage in that it can adapt network management to the needs of the customer. A customer can determine what necessary tasks need to be performed and quickly implement them with the present invention. This characteristic may be particularly useful to HelpDesk operators who need to create ad hoc network management tools to resolve crisis issues.
The present invention provides yet another technical advantage by expanding upon basic network management with the unique customizable services. In addition to supporting industry platform services, the present invention incorporates unique (custom) services crafted from acquired knowledge and insight of the NetWare and NT operating environments. In addition to industry platform services, these custom services can be placed as options when defining control objects.
Still another technical advantage is that the system provides for heterogeneous network management. The system can perform network management tasks on both NetWare servers and NT servers.
In addition, the present invention provides a technical advantage in that it does not require the user to purchase controls from third party vendors. Due to the granularity of controls and services offered in the present invention, the controls and services are basic building blocks and can serve a variety of functions.